package com.ruoyi.project.mahjong.mapper;

import java.util.Date;
import java.util.List;
import com.ruoyi.project.mahjong.domain.TTablenumber;
import com.ruoyi.project.mahjong.domain.vo.TableDianYuanVo;
import com.ruoyi.project.mahjong.domain.vo.TableVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

/**
 * 桌号Mapper接口
 *
 * @author ruoyi
 * @date 2023-07-18
 */
public interface TTablenumberMapper
{
    /**
     * 查询桌号
     *
     * @param id 桌号ID
     * @return 桌号
     */
    public TTablenumber selectTTablenumberById(Long id);

    /**
     * 查询桌号列表
     *
     * @param tTablenumber 桌号
     * @return 桌号集合
     */
    public List<TTablenumber> selectTTablenumberList(TTablenumber tTablenumber);

    /**
     * 新增桌号
     *
     * @param tTablenumber 桌号
     * @return 结果
     */
    public int insertTTablenumber(TTablenumber tTablenumber);

    /**
     * 修改桌号
     *
     * @param tTablenumber 桌号
     * @return 结果
     */
    public int updateTTablenumber(TTablenumber tTablenumber);

    /**
     * 删除桌号
     *
     * @param id 桌号ID
     * @return 结果
     */
    public int deleteTTablenumberById(Long id);

    /**
     * 批量删除桌号
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTTablenumberByIds(Long[] ids);

    List<TTablenumber> getzchooseilist(TTablenumber tTablenumber);

    List<TTablenumber> getpoolist();

    int updateTableStatus(
            @Param("shopId") Long shopId,
            @Param("roomId") Long roomId,
            @Param("tableId")Long tableId,
            @Param("status" )String status,
            @Param("orderSn" )String orderSn,
            @Param("openTime" ) String openTime);

    List<TableDianYuanVo> selectTableListByShopIdAndRoomId(@Param("shopId") Long shopId,
                                                           @Param("roomId") Long roomId);


    Integer updateAllTableDianYuanStatus(@Param("status")Long status,@Param("shopId") Long shopId);

    Integer updateTableDianYuanStatus(@Param("tableId")Long tableId,@Param("shopId") Long shopId,@Param("oneStatus")Long oneStatus);

    List<TTablenumber> selectTableListByShopId(Long shopId);
    List<TTablenumber> selectAllTableListByShopId(Long shopId);

    String selectTableName(String orderNumber);

    List<TableVo> tableList(@Param("belong")Long shopId);

   @Update("update t_open_table set `status`=4 WHERE bak2=#{orderSn}")
    void tmpStopDesk(@Param("orderSn") String orderSn);
}
